<!DOCTYPE html>
<html lang="ja">

<head>
	<meta charset="UTF-8"/>
	<meta name="keywords" content="cot, コマンド"/>
	<link rel="stylesheet" href="../../Shared/sty/standard.css"/>
	<script defer src="../../Shared/js/toc.js"></script>
	
	<title>MacのCotEditorでcotコマンドと連携する</title>
</head>

<body>
<a name="about_cot"></a>

<h1>MacのCotEditorで<code>cot</code>コマンドと連携する</h1>

<p>CotEditorにはコマンドラインからの操作を可能にする<code>cot</code>コマンドラインツールがあります。<code>cot</code>コマンドを使うためには、まずコマンドをインストールしてください。</p>


<section>
<h2><code>cot</code>コマンドをインストールする</h2>

<p><code>cot</code>コマンドはCotEditor.app内の<code>Contents/SharedSupport/bin/cot</code>に内蔵されています。</p>
<p>Terminalからシンボリックリンクを作成して、任意の場所にコマンドをインストールできます。特にこだわりがない場合は<code>/usr/local/bin/</code>にシンボリックリンクを作成することをお勧めします。</p>

<p>推奨する場所にシンボリックリンクを作成するには、Terminalで以下のコマンドを実行します。</p>
<pre class="source"><code>mkdir /usr/local/bin/
ln -s /Applications/CotEditor.app/Contents/SharedSupport/bin/cot /usr/local/bin/cot</code></pre>


<h3>セキュリティ認証</h3>
<p>macOSで別のアプリから<code>cot</code>コマンドでCotEditorを操作するために、ユーザによる認証が必要です。この認証は通常<code>cot</code>コマンドを初めて使用したときに表示されるダイアログから行えますが、なんらかの理由でそれがされなかった場合は、手動での設定が必要です。「システム設定」＞「プライバシーとセキュリティー」＞「オートメーション」で、ターミナルなど利用するクライアントの下にある「CotEditor」のチェックボックスを有効にします。さらに、<code>--wait</code>オプションのためには「System Events」も有効にします。</p>


<h3>Python 3のインストール</h3>
<p>cotコマンドはPython 3で実装されています。PythonはmacOS 12.3からシステムには同梱されなくなったため、cotコマンドを使うには自身で<code>python3</code>をインストールする必要があります。</p>
<p>Appleが提供する開発ツールには<code>python3</code>が同梱されています。下記のコマンドをTerminalで実行するとAppleのコマンドラインデベロッパツールをインストールできます。もちろん他の方法で<code>python3</code>をインストールしてもかまいません。</p>

<pre class="source"><code>xcode-select --install</code></pre>
</section>


<section>
<h2><code>cot</code>コマンドをアンインストールする</h2>

<p>上記推奨場所にインストールした<code>cot</code>コマンドをアンインストールするときは、Terminalで以下のコマンドを実行します。</p>
<pre class="source"><code>unlink /usr/local/bin/cot</code></pre>
</section>


<section>
<h2>コマンドをオプションとともに使う</h2>

<p><code>cot</code>コマンドは以下のオプションが使用できます:</p>

<table>
	<thead>
		<tr><th>オプション</th><th>説明</th></tr>
	</thead>
	<tbody>
		<tr><th><code>-w</code>, <code>--wait</code></th><td>開いた書類が閉じるまでコマンドの終了を待ちます。</td></tr>
		<tr><th><code>-r</code>, <code>--readonly</code></th><td>書類を<a href="howto_readonly.html">読み出し専用</a>で開きます。</td></tr>
		<tr><th><code>-n</code>, <code>--new</code></th><td>空の新規書類を開きます。</td></tr>
		<tr><th><code>-s</code>, <code>--syntax</code></th><td>開いた書類に任意のシンタックスをセットします。</td></tr>
		<tr><th><code>-l</code>, <code>--line</code> <code>&lt;line&gt;</code></th><td>開いた書類の指定した行に移動します。<code>&lt;line&gt;</code>は行を指定する整数型です。</td></tr>
		<tr><th><code>-c</code>, <code>--column</code> <code>&lt;column&gt;</code></th><td>開いた書類の指定した列に移動します。<code>&lt;column&gt;</code>は列を指定する整数型です。</td></tr>
		<tr><th><code>-b</code>, <code>--background</code></th><td>CotEditorをバックグラウンドで開きます。</td></tr>
		<tr><th><code>-h</code>, <code>--help</code></th><td>ヘルプを表示します。</td></tr>
		<tr><th><code>-v</code>, <code>--version</code></th><td>バージョンを表示します。</td></tr>
	</tbody>
</table>

<p><code>--line</code>オプションと<code>--column</code>は負の値を指定することもできます。そのとき、<code>--line</code>オプションの場合は書類の末尾から、<code>--column</code>オプションの場合は行の末尾からカウントされます。</p>
</section>


<section>
<h2><code>cot</code>コマンドを実行する</h2>

<p><code>cot</code>コマンド単体でCotEditorが起動します。CotEditorがすでに起動している場合は、最前面に持っていきます。</p>

<pre class="source"><code>cot</code></pre>

<p>以下のコマンドは、foo.txtファイルをCotEditorで開き200行目に挿入ポイントを移動します。もしfoo.txtファイルが存在しないときは、<code>cot</code>コマンドは何も行いません。</p>

<pre class="source"><code>cot --line 200 foo.txt</code></pre>

<p>以下のコマンドは、foo.txtファイルをCotEditorで開き、書類末尾に挿入ポイントを移動します。</p>

<pre class="source"><code>cot --line -1 --column -1 foo.txt</code></pre>

<p>ファイル名の代わりにダッシュ（<code>-</code>）を渡すと、標準入力を受け取るモードになります。受け取った入力は新規書類として開かれます。</p>

<pre class="source"><code>cot -</code></pre>

<p>テキストをパイプで渡すこともできます。CotEditorは渡されたテキストを新規書類として開きます。</p>

<pre class="source"><code>echo &quot;I am a dog but also a cow at the same time.&quot; | cot</code></pre>

<p><code>--wait</code>オプションを使えばCotEditorを<code>git</code>のエディタとして指定することもできます。</p>

<pre class="source"><code>git config --global core.editor &quot;cot -w&quot;</code></pre>


<section id="cf">
<h2>関連項目</h2>
<ul>
	<li><a href="settings_general.html">MacのCotEditorで「一般」設定を変更する</a></li>
</ul>
</section>

</body>
</html>
